// import Cookies from 'js-cookie';
import { setMaxDigits, RSAKeyPair, encryptedString } from './lib/RSA';

// const TokenKey = 'Demo-Admin-Token';

// export function getToken() {
//   return Cookies.get(TokenKey);
// }

// export function setToken(token) {
//   return Cookies.set(TokenKey, token);
// }

// export function removeToken() {
//   return Cookies.remove(TokenKey);
// }

/**
 * 引入 路由组件
 * @param file 文件在views下的地址
 */
export function _import(file) {
  return require('@/views/' + file + '.vue').default;
}

/**
 * 登陆 账号密码RSA加密
 * @param obj 账号密码
 * @returns obj 加密后的账号密码
 */
export function passwordEncode(userInfo) {
  setMaxDigits(100);
  var key = new RSAKeyPair(
    '10001',
    '',
    '866cafa116451ce58386c8286a75e21a534e1ca0fdb79ea6991d660911592f062097b8ac559711b6718407712334c12d383e5d9b40d0abcdbd3dbc54d2ff52cb',
  );
  let info = {};
  info.userPass = encryptedString(key, encodeURIComponent(userInfo.userPass));
  info.loginName = userInfo.loginName.trim();
  return info;
}

/**
 * 判断是否为数组
 * @param obj 要判断的数据
 * @returns
 */
const _isArray = function (obj) {
  return Object.prototype.toString.call(obj) === '[object Array]';
};

/**
 * 判断是否为空对象
 * @param obj 要判断的对象
 * @returns boolean
 */
const _isEmptyObject = function (obj) {
  if (obj instanceof Object) {
    for (var key in obj) {
      return false;
    }
    return true;
  }
};

/**
 * 判断是否为空
 * @param obj 要判断的数据
 * @returns boolean
 */
export function isNull(obj) {
  if (
    obj === undefined ||
    obj === 'undefined' ||
    obj === null ||
    obj === 'null' ||
    obj === '' ||
    obj === '{null}' ||
    _isEmptyObject(obj)
  ) {
    return true;
  }
  if (_isArray(obj)) {
    return obj.length == 0;
  }
  return false;
}

/**
 * 获取场站下拉框
 * @param fn 回掉方法
 */
export function getStation(fn) {
  setTimeout(() => {
    // 模拟请求
    let obj = [
      {
        name: 'asdsa',
        value: 'dddd',
      },
    ];
    fn(obj);
  }, 2000);
}

/**
 * 格式化日期
 * @param str 日期字符串
 * 		  format 期望格式(month 或 second)
 */
export function formatDate(str, format) {
  if (format == 'month') {
    return str.split(' ')[0];
  } else {
    return str.split('.')[0];
  }
}
export function getUserInfo() {
  const userInfo = JSON.parse(sessionStorage.getItem('userInfo'));
  return userInfo;
}
